using MediatR;
using B.S.XZYData.ErrorCode;

namespace B.S.XZYData.Api.Wrter.Application.Command.ProductionStatistics
{
    /// <summary>
    /// 导出产量统计命令
    /// </summary>
    public class ExportProductionStatisticsCommand : IRequest<ApiResult<byte[]>>
    {
        /// <summary>
        /// 报工日期开始
        /// </summary>
        public DateTime? ReportingDateStart { get; set; }

        /// <summary>
        /// 报工日期结束
        /// </summary>
        public DateTime? ReportingDateEnd { get; set; }

        /// <summary>
        /// 工单计划数最小值
        /// </summary>
        public int? WorkOrderPlanCountMin { get; set; }

        /// <summary>
        /// 工单计划数最大值
        /// </summary>
        public int? WorkOrderPlanCountMax { get; set; }

        /// <summary>
        /// 产品名称
        /// </summary>
        public string? ProductName { get; set; }

        /// <summary>
        /// 产品编号
        /// </summary>
        public string? ProductNumber { get; set; }

        /// <summary>
        /// 产品规格
        /// </summary>
        public string? ProductSpecification { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        public string? Unit { get; set; }

        /// <summary>
        /// 数量最小值
        /// </summary>
        public int? QuantityMin { get; set; }

        /// <summary>
        /// 数量最大值
        /// </summary>
        public int? QuantityMax { get; set; }

        /// <summary>
        /// 排序字段
        /// </summary>
        public string SortField { get; set; } = "Id";

        /// <summary>
        /// 排序方向
        /// </summary>
        public string SortDirection { get; set; } = "desc";
    }
} 